home *** CD-ROM | disk | FTP | other *** search
- ; $VER: MaxonC++ V3.0 Install Version 3.0 (30.12.94)
- ; Script zum Installieren von MaxonC++ 3 auf Festplatte
- ;
-
- (complete 0)
-
- ; Die Versionsnummer und das Erstellungs-Datum der hier installierten
- ; C++ Version.
-
- (set cpp-version "3.00.3")
- (set cpp-date "(16 Dez 94)")
-
- ;====================================================================
- ; Einige Initialisierungen
- ;====================================================================
-
- (set @default-dest "")
-
- (set os-version (/ (getversion) 65536))
- (set os-13 (< os-version 36))
- (set os-20 (>= os-version 36))
- (set os-21 (>= os-version 38))
-
- (set totalmem (database "total-mem")) ; Diese schöne Funktion vereinfacht einiges
-
- ; Die Pfadnamen der Programme, die vom Installations-Skript aufgerufen werden.
-
- (set run-lha "RAM:LhX -a")
-
-
- ; Die Pfadnamen der einzelnen Quell-Dateien.
-
- (set source-muchmore "MaxonCPP3_D5:C/MuchMore")
- (set source-lhx "MaxonCPP3_D5:LHX/LHX")
- (set source-rctlib "MaxonCPP3_D5:Libs/rct.library")
- (set archive-eodemo "MaxonCPP3_D5:EO-Demos.lha")
- (set archive-asminclude "MaxonCPP3_D5:AsmIncl.lha")
-
- (set archive-compiler "MaxonCPP3_D6:Compiler.lha")
- (set archive-edward "MaxonCPP3_D6:Edward.lha")
- (set archive-include "MaxonCPP3_D6:Incl.lha")
- (set archive-libs "MaxonCPP3_D6:Lib.lha")
- (set archive-libsrc "MaxonCPP3_D6:Libsrc.lha")
- (set archive-tools "MaxonCPP3_D6:Tools.lha")
-
- (set archive-ademo "MaxonCPP3_D7:ansicdemo.lha")
- (set archive-classes "MaxonCPP3_D7:classes.lha")
- (set archive-classlib "MaxonCPP3_D7:classlib.lha")
- (set archive-classsource "MaxonCPP3_D7:classsource.lha")
- (set archive-clicomp "MaxonCPP3_D7:clicomp.lha")
- (set archive-cppdemo "MaxonCPP3_D7:cppdemo.lha")
- (set archive-debugger "MaxonCPP3_D7:debugger.lha")
-
- (set archive-projekte "MaxonCPP3_D8:hh-projekte.lha")
-
- ; Die benötigten Disketten
-
- (set #prp-insert-disk5
- (cat "\n\n\nBitte legen Sie nun die Diskette 5 \"MaxonCPP3_D5\" "
- "in ein beliebiges Laufwerk ein!"))
- (set #prp-insert-disk6
- (cat "\n\n\nBitte legen Sie nun die Diskette 6 \"MaxonCPP3_D6\" "
- "in ein beliebiges Laufwerk ein!"))
- (set #prp-insert-disk7
- (cat "\n\n\nBitte legen Sie nun die Diskette 7 \"MaxonCPP3_D7\" "
- "in ein beliebiges Laufwerk ein!"))
- (set #prp-insert-disk8
- (cat "\n\n\nBitte legen Sie nun die Diskette 8 \"MaxonCPP3_D8\" "
- "in ein beliebiges Laufwerk ein!"))
-
- (set #prp-copy-rct-lib
- "Kopieren der RCT-Library")
- (set #hlp-copy-rct-lib
- (cat "Die RCT-Library beinhaltet den Standard-Filerequester "
- "Wenn Sie diese Bibliothek schon auf Ihrer Festplatte "
- "installiert haben, dann ist hier eine neuere Version.\n\n"))
- (set #wrk-create-pref-file
- "\nDie Voreinstellungs-Datei wird erzeugt...")
-
- ; Die Größen der Text-Dateien.
-
- (set size-mcpp 420000)
- (set size-mcppc 279000)
- (set size-edward 180000)
- (set size-includes 1800000)
- (set size-libs 314000)
- (set size-classes 822000)
- (set size-classdemos 936000)
- (set size-debugger 622000)
- (set size-demos 426000)
- (set size-libsrc 518000)
- (set size-hh-projekte 880000)
-
- (set size-komplett (+ size-mcpp size-mcppc size-edward size-includes size-libs size-classes size-classdemos size-debugger size-demos size-libsrc size-hh-projekte))
-
- ;=====================================================================================
- ; Beginn der Installation
- ;=====================================================================================
-
- ; Eine kleine Einleitungs-Message, gefolgt vom Startbildschirm des Installers.
-
- (set act-user-level @user-level)
- (user 1)
-
- (if (= (getassign "HOTHELP") "")
- (
- (abort (cat "\n\nBevor Sie das Compilersystem installieren "
- "sollten Sie die mitgelieferte HotHelp-Developer "
- "Version installieren. Anderenfalls können die "
- "HotHelp-Projekte zur Klassenbibliothek und die "
- "Compiler-Fehlermeldungen nicht kopiert werden!"))
-
- )
- )
-
- (message (cat "\nWillkommen zum Installationsprogramm von \n\n\"MaxonC++ "
- cpp-version " vom "cpp-date "\"!\n\n"
- "Dieses Skript kopiert die verschiedenen Dateien, "
- "aus denen sich das Compilersystem zusammensetzt, "
- "auf Ihre Festplatte.\n"))
-
- (if (= (askbool
- (prompt (cat "\n\nHaben Sie bereits die neue HotHelp 3 "
- "Version installiert?."))
- (help (cat "Die mit der alten Compiler-Version ausgelieferte "
- "HotHelp-Version kann das neue Projektformat nicht lesen! \n\n"
- "Wenn Sie \"JA\" anklicken, werden die HotHelp-Projekte zur "
- "Klassenbibliothek und die Compiler-Fehler-\nmeldungen zwar kopiert "
- "sie können aber nicht genutzt werden, oder der Aufruf führt "
- "sogar zum Absturz!"))
- (default 1)) 0)
- (
- (abort (cat "Bitte installieren Sie zuerst HotHelp 3"))
- )
- )
-
- (user act-user-level)
- (welcome)
-
- (complete 5)
-
- (set act-user-level @user-level)
- (user 1)
-
- (if (< totalmem 5000000)
- ( ; Nicht genug Speicher für Klassenbibliothek
- (message (cat "\n\nIhr verfügbarer RAM-Speicher "
- totalmem " Bytes reicht nicht aus, "
- "um den vollen Funktionsumfang der Klassenbibliothek "
- "zu nutzen.\n\n Sie sollten min. 6MB (CHIP/FAST) RAM-Speicher haben.\n\n"
- "Entfernen Sie soweit wie möglich alle laufenden "
- "Programme aus dem RAM-Speicher und benutzen Sie die "
- "CLI-Version des Compilersystems.\n"))
- )
- )
-
- ; Alte Version prüfen und entsprechende Warnung ausgeben! **************************************************************
-
- (if (<> (getassign "MCPP") "")
- (
- (message (cat "Auf Ihrer Festplatte befindet sich bereits eine "
- "Installation von MaxonC++! Wenn es sich dabei um eine alte "
- "Version handelt, sollten Sie bei der Wahl des Installationspfades "
- "NICHT den der alten Installation auswählen, da bei der neuen "
- "Installation bereits vorhandene Dateien einfach überschrieben werden\n\n"
- "Eventuell gemachte Modifikationen am Logfile oder an der "
- "Einstellung der EDWARD.DEF-Datei müssen erneut vorgenommen werden!"))
-
- ))
-
- (set folder "WORK:MCPP3")
- (user act-user-level)
-
- (if (= @user-level 0)
- (
- (user 1)
- (message (cat "Im Einsteiger-Modus wird davon ausgegangen, daß MaxonC++ auf "
- "einer Festplatte installiert wird, auf der noch mindestens "
- "ca. 7 MByte freier Speicherplatz verfügbar sind. Sie werden "
- "dazu im nächsten Fenster nach dem Namen des gewünschten "
- "Verzeichnisses gefragt.\n\n"
- "Alle weiteren Angaben werden dann vom Installations-Skript "
- "möglichst genau an Ihr System angepaßt."))))
-
- (set ok 0)
- (while (not ok)
- (set folder
- (askdir
- (prompt "Auswahl des Pfades für die Compiler-Installation.\nBitte wählen Sie ein Verzeichnis!")
- (help (cat " Sie können über das Symbol 'Laufwerke anz.' (bzw. 'Show drives') "
- "eine Übersicht über alle Laufwerke Ihres Amiga anfordern; aus "
- "dieser Übersicht sollten Sie nur die oberen, nicht farblich "
- "gekennzeichneten Einträge auswählen.\n"
- " Typische sinnvolle Namen sind z.B. \"WORK:\", \"HD0:\" oder \"DH0:\"; "
- "nicht verwenden sollten Sie Namen wie \"DF0:\", \"DF1:\", "
- "\"DF2:\", \"DF3:\", \"RAD:\", \"RAM:\", \"System2.0:\", "
- "\"WB_2.x:\", \"System3.0:\" oder \"WB_3.x:\"!"
- "\n\n"
- "MaxonC++ kann nur in ein Verzeichnis nicht aber auf eine "
- "Partition direkt installiert werden! Wenn Sie also nur ein Laufwerk "
- "für die Installation auswählen, wird Ihnen eine Fehlermeldung angezeigt!\n\n"
- @askdir-help))
- (default folder)
- (disk)
- )
- )
-
- ; Ist der Dateiname leer oder endet mit einem ':' oder existiert unter
- ; diesem Namen kein Verzeichnis, wird eine Fehlermeldung angezeigt; andernfalls
- ; kann die Auswahl-Schleife beendet werden.
- (if (or (or (or (<= (strlen folder) 0) (= (substr folder (- (strlen folder) 1) 1) ":")) (= (exists folder (noreq)) 0)) (= (getdiskspace folder) -1))
- (message (cat "\nBei Ihrer Auswahl \"" folder "\" handelt es sich nicht um "
- "eine gültige Laufwerks-Angabe!\n\n"
- "Sie können über das Symbol 'Laufwerke anz.' (bzw. 'Show drives') "
- "eine Übersicht über alle Laufwerke Ihres Amiga anfordern; aus "
- "dieser Übersicht sollten Sie nur die oberen, nicht farblich "
- "gekennzeichneten Einträge auswählen.\n"
- "Über den Schalter \"Neue Schublade anlegen...\" können Sie ein neues "
- "Verzeichnis erzeugen. Diese neue Schublade\nwird in dem Verzeichnis "
- "angelegt, das Sie soeben betrachten."))
- ;else
- (
- (set freediskspace (getdiskspace folder)) ; Der freie Speicher auf diesem Medium
-
- (if (< freediskspace size-komplett)
- (
- (user 1)
- (message (cat "\nAuf der ausgewählten Festplattenpartition "
- "steht nicht genügend freier Speicher für die "
- "komplette Installation des Compilersystems zur Verfügung.\n\n"
- "Freier Speicher " freediskspace "!\n"
- "Benötigter Speicher " size-komplett "!\n\n"
- "Bitte wählen Sie eine andere Partition, auf "
- "der entsprechende Kapazitäten vorhanden sind!"))
- )
- ;else
- (set ok 1)
- )
- )
- )
- )
-
- (user act-user-level)
-
- (set destbin (tackon folder "BIN"))
- (if ; Compiler-Verzeichnis erzeugen
- (= (exists destbin) 0)
- (makedir destbin (infos))
- )
- (set destdemo (tackon folder "Demo"))
- (if ; Compiler-Verzeichnis erzeugen
- (= (exists destdemo) 0)
- (makedir destdemo)
- )
- (set destinclude (tackon folder "Include"))
- (set destlib (tackon folder "Lib"))
-
- (complete 10)
-
- ; Diskette 1 liegt wahrscheinlich schon im Laufwerk. Dennoch Sicherheitshalber die Abfrage!
-
- (askdisk
- (prompt #prp-insert-disk5)
- (help #askdir-help)
- (dest "MaxonCPP3_D5")
- )
-
- ; Lhx wird in die RAM-Disk kopiert, damit das Programm nicht jedesmal von Disk
- ; geladen werden muß.
- (copyfiles
- (source source-lhx)
- (dest "RAM:")
- )
-
- (copylib ; RCT-LIB kopieren
- (prompt #prp-copy-rct-lib)
- (help #hlp-copy-rct-lib)
- (source source-rctlib)
- (dest "LIBS:")
- (confirm)
- )
-
- (complete 15)
-
- ; Klassenbibliotheksdemos entpacken
-
- (run
- (prompt (cat "\nKopieren der Klassenbibliotheks-Demos\n\n"
- "Die Demoprogramme zeigen Ihnen anhand zahlreicher "
- "Beispiele, wie man effektiv mit der Klassen-\n "
- "bibliothek umgeht!\n"))
- (help (cat " Bei Zustimmung werden die Demos in das "
- "Demo-Verzeichnis entpackt."))
- (cat run-lha " x " archive-eodemo " " destdemo"/")
- (confirm)
- )
-
- (complete 20)
-
- ; ASM-Inlcudes entpacken
-
- (run
- (prompt (cat "\nKopieren der Assembler Include-Dateien\n\n"))
- (help (cat " Bei Zustimmung werden die Include in das "
- "ASM-Includes-Verzeichnis entpackt."))
- (cat run-lha " x " archive-asminclude " " folder"/")
- (confirm)
- )
-
- (complete 30)
-
- ; Diskette 2 einlegen!
-
- (askdisk
- (prompt #prp-insert-disk6)
- (help #askdir-help)
- (dest "MaxonCPP3_D6")
- )
-
- ; Compiler entpacken
-
- (run
- (prompt (cat "\nKopieren des C++ Compilers\n\n"
- "Die integrierte Version des Compilers ermöglicht "
- "ein sehr zeitsprarendes Arbeiten mit dem Compilersystem!\n\n"))
- (help (cat "Bei Zustimmung wird der Compiler in das "
- "BIN-Verzeichnis entpackt."))
- (cat run-lha " x " archive-compiler " " destbin"/")
- (confirm)
- )
-
- (complete 32)
-
- ; Edward entpacken
-
- (run
- (prompt (cat "\nKopieren des C++ Editors\n\n"
- "Der integrierte Editor erleichert Ihnen den Umgang "
- "mit dem Compilersystem erheblich!\n\n"))
- (help (cat "Bei Zustimmung wird der Editor in das "
- "BIN-Verzeichnis entpackt."))
- (cat run-lha " x " archive-edward " " destbin"/")
- (confirm)
- )
-
- (complete 34)
-
- ; Includes entpacken
-
- (run
- (prompt (cat "\nKopieren der Amiga OS 3.1 Includes\n\n"
- "Die Includes ermöglichen es, die Standard C/C++ "
- "und Amiga OS-Funktionen zu nutzen!"))
- (help (cat "Bei Zustimmung werden die Includes in das "
- "Include-Verzeichnis entpackt."))
- (cat run-lha " x " archive-include " " folder"/")
- (confirm)
- )
-
- (complete 36)
-
- ; libs entpacken
-
- (run
- (prompt (cat "\nKopieren der C++ Libs und der Amiga-Library\n\n"
- "In Zusammenarbeit mit den Includes ermöglichen "
- "die Libs die Nutzung der Standard C/C++ "
- "und Amiga OS-Funktionen!"))
- (help (cat "Bei Zustimmung werden die Libs in das "
- "Lib-Verzeichnis entpackt."))
- (cat run-lha " x " archive-libs " " folder"/")
- (confirm)
- )
-
- (complete 38)
-
- ; libsource entpacken
-
- (run
- (prompt (cat "\nKopieren der Sourcen der C++ Libs\n\n"
- "Eventuell wünschen Sie es, die ein oder andere "
- "Standardfunktion selbst zu verändern. \n\n "
- "Hier erhalten Sie die entsprechenden Sourcen!"))
- (help (cat "Bei Zustimmung werden die Sourcen in das "
- "Libsrc-Verzeichnis entpackt."))
- (cat run-lha " x " archive-libsrc " " folder"/")
- (confirm)
- )
-
- (complete 40)
-
- ; tools entpacken
-
- (run
- (prompt (cat "\nKopieren der C++ Tools\n\n"
- "Die Programme erleichern die Einbindung eigener "
- "Routinen für den Linker!"))
- (help (cat "Bei Zustimmung werden die Tools in das "
- "Bin-Verzeichnis entpackt."))
- (cat run-lha " x " archive-tools " " destbin"/")
- (confirm)
- )
-
- (complete 42)
-
- ; Diskette 7 einlegen!
-
- (askdisk
- (prompt #prp-insert-disk7)
- (help #askdir-help)
- (dest "MaxonCPP3_D7")
- )
-
- ; clicomp entpacken
-
- (run
- (prompt (cat "\nKopieren des CLI-Compilers\n\n"
- "Die CLI-Compilerversion kommt ganz ohne Editor "
- "und Oberfläche aus und ist daher extrem speicherplatzsparend!"))
- (help (cat "Bei Zustimmung wird der Compiler in das "
- "Bin-Verzeichnis entpackt."))
- (cat run-lha " x " archive-clicomp " " destbin"/")
- (confirm)
- )
-
- (complete 44)
-
- ; debugger entpacken
-
- (run
- (prompt (cat "\nKopieren des C++ Debuggers\n\n"
- "Der Debugger hilft Ihnen beim Aufspüren von "
- "Programmfehlern.\n\n"
- "Er ist unter konsequenter Nutzung der Klassen-\n"
- "bibliothek programmiert und daher ein sehr gutes "
- "Beispiel für die Fähigkeiten der Bibliothek!"))
- (help (cat "Bei Zustimmung wird der Debuggger in das "
- "Bin-Verzeichnis entpackt."))
- (cat run-lha " x " archive-debugger " " destbin"/")
- (confirm)
- )
-
- (complete 46)
-
- ; ansidemo entpacken
-
- (run
- (prompt (cat "\nKopieren des ANSI-C Demos\n\n"
- "Diese Demos zeigen Ihnen die Programmierung "
- "in ANSI-C"))
- (help (cat "Bei Zustimmung werden die Demos in das "
- "Demo-Verzeichnis entpackt."))
- (cat run-lha " x " archive-ademo " " destdemo"/")
- (confirm)
- )
-
- (complete 48)
-
- ; cppdemo entpacken
-
- (run
- (prompt (cat "\nKopieren des C++ Demos\n\n"
- "Diese Beispielprogramme demonstrieren Ihnen die Programmierung "
- "in MaxonC++"))
- (help (cat "Bei Zustimmung werden die Demos in das "
- "Demo-Verzeichnis entpackt."))
- (cat run-lha " x " archive-cppdemo " " destdemo"/")
- (confirm)
- )
-
- (complete 50)
-
- ; Classen-Includes entpacken
-
- (run
- (prompt (cat "\nKopieren der Includes der Klassenbibliothek\n\n"
- "Die Bibliothek erleichert Ihnen das Programmieren "
- "in MaxonC++ erheblich. Bitte achten Sie darauf, daß "
- "Sie dafür min. 6MB RAM-Speicher besitzen sollten! "))
- (help (cat "Bei Zustimmung werden die Includes in das "
- "Include-Verzeichnis entpackt."))
- (cat run-lha " x " archive-classes " " destinclude"/")
- (confirm)
- )
-
- (complete 52)
-
- ; Classen-Libs entpacken
-
- (run
- (prompt (cat "\nKopieren der Objektdateien der Klassenbibliothek\n\n"
- "Die Bibliothek erleichert Ihnen das Programmieren "
- "in MaxonC++ erheblich. Bitte achten Sie darauf, daß "
- "Sie dafür min. 6MB RAM-Speicher besitzen sollten! "))
- (help (cat "Bei Zustimmung werden die Libs in das "
- "Libs-Verzeichnis entpackt."))
- (cat run-lha " x " archive-classlib " " destlib"/")
- (confirm)
- )
-
- (complete 54)
-
- ; Classen-Source entpacken
-
- (run
- (prompt (cat "\nEntpacken der Sourcen der Klassenbibliothek\n\n"
- "Die Bibliothek erleichert Ihnen das Programmieren "
- "in MaxonC++ erheblich. Mit den Sourcen können Sie "
- "eigene Erweiterungen programmieren! "))
- (help (cat "Bei Zustimmung werden die Sourcen in das "
- "Class-Sourcen-Verzeichnis entpackt."))
- (cat run-lha " x " archive-classsource " " folder"/")
- (confirm)
- )
-
- (complete 56)
-
-
- ; Diskette 8 einlegen!
-
- (askdisk
- (prompt #prp-insert-disk8)
- (help #askdir-help)
- (dest "MaxonCPP3_D8")
- )
-
- ; HotHelp-Projekte entpacken
-
- (if ; Compiler-Verzeichnis erzeugen
- (<> (exists "HOTHELP:PROJEKTE") 0)
- (run
- (prompt (cat "\nKopieren der Hilfetexte zur Klassenbibliothek und zu den Compiler-Fehlermeldungen\n\n"
- "Mit Hilfe der Onlinedokumentation erlernen "
- "Sie den Umgang mit der Klassenbibliothek und "
- "finden sehr schnell die Bedeutung von Compilerfehler"))
- (help (cat "Bei Zustimmung werden die Projekte in das "
- "Verzeichnis HOTHELP:Projekte entpackt."))
- (cat run-lha " x " archive-projekte " HOTHELP:PROJEKTE""/")
- (confirm)
- )
- ; else
- (
- (message (cat "\nSie haben zwar HotHelp installiert, aber die "
- "Namen des Projekteverzeichnis stimmt nicht mit "
- "der durch HotHelp gemachte Vorgabe überein.\n\n"
- "Bitte entpacken Sie das Archiv von der Diskette 4 "
- "in Ihr Projekte-Verzeichnis von HotHelp!"))
- )
- )
-
- (complete 70)
-
- ; Nun wird die C++ Pref-Datei zusammengebastelt!
-
- (set Mcpref
- (cat "-X1,0,7,624,200,0\n"
- "-X2,0,7,366,186,0\n"
- "-X3,0,7,506,203,0\n"
- "-X4,0,7,612,218,0\n"
- "-X5,0,2,592,210,0\n"
- "-X6,0,7,308,221,0\n"
- "-X7,0,7,484,167,0\n"
- "-X8,0,20,640,200,0\n"
- "-X10,1 -X11,0 -X12,1 -X13,1 -X14,0 -X15,1 -X16,30 -X17,1 -X18,1\n"
- "-X20,\"prt:\" -X21,\"\" -X22,\"\" -X23,\"\"\n"
- "-pp -gb0 -gm -b0 -bs0 -a0 -as0 -O -gD -g00 -g80 -mX -t -pX -wNFREVopTCaM -i \"MCPP:Include\" -h0 -w200\n"
- "-j \"MCPP:Lib\"\n"
- "-X\"Edward:Edward\"\n")
- )
- (working #wrk-create-pref-file)
- (textfile
- (dest "S:MCPP.Config")
- (append mcpref)
- )
-
- (complete 80)
-
- ; ------- STARTUP ÄNDERN
-
- (set command1 (cat "ASSIGN MCPP: " folder "\nASSIGN EDWARD: MCPP:BIN" "\nPATH MCPP:BIN ADD"))
-
- (set command1.txt
- (cat
- "\n\n\nUm mit dem MaxonC++ richtig arbeiten zu "
- "können muß eine Änderung an der User-Startup vorgenommen werden.\n\n"
- command1
- )
- )
-
- (startup "MaxonC++.app"
- (prompt command1.txt)
- (help #help-startup)
- (command command1)
- )
-
- (makeassign "MCPP")
- (makeassign "EDWARD")
- (makeassign "MCPP" folder)
- (makeassign "EDWARD" "MCPP:BIN")
-
- (complete 100)
-
- ; ------- FERTIG
-
- (message (cat
- "Installation des MaxonC++ Compilers V3 beendet.\n"
- "Falls die Zeilen:\n" command1 "\nnicht in Ihre Startup-Sequence bzw. "
- "User-Startup eingefügt wurde, dann holen Sie dies bitte nach.\n\n"
- "Entfernen Sie nun die Diskette aus Ihrem Laufwerk und starten Sie "
- "MaxonC++ 3.\n\nViel Erfolg!")
- )
-
-